package com.dlc.shop.seckill.common.dto;

import com.dlc.shop.bean.app.dto.UserAddrDto;
import com.dlc.shop.bean.model.OrderInvoice;
import com.dlc.shop.bean.vo.VirtualRemarkVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 秒杀订单合并信息
 * @author LGH
 */
@Data
public class SeckillOrderMergerDto {

    @Schema(description = "实际总值" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double actualTotal;

    @Schema(description = "商品总值" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double total;

    @Schema(description = "秒杀优惠" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double seckillReduce;

    @Schema(description = "运费" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double transfee;

    @Schema(description = "商品总数" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer totalCount;

    @Schema(description = "地址Dto" , requiredMode = Schema.RequiredMode.REQUIRED)
    private UserAddrDto userAddr;

    @Schema(description = "商品信息" , requiredMode = Schema.RequiredMode.REQUIRED)
    private SeckillShopCartItemDto shopCartItem;

    @Schema(description = "msgId" ,requiredMode = Schema.RequiredMode.REQUIRED)
    private String msgId;

    @Schema(description = "userId" ,requiredMode = Schema.RequiredMode.REQUIRED)
    private String userId;

    @Schema(description = "订单备注" ,requiredMode = Schema.RequiredMode.REQUIRED)
    private String remarks;

    @Schema(description = "orderNumber" )
    private String orderNumber;

    @Schema(description = "订单发票信息" )
    private OrderInvoice orderInvoice;

    @Schema(description = "商品类别 0.实物商品 1. 虚拟商品 2.组合商品" )
    private Integer mold;

    @Schema(description = "虚拟商品留言备注" )
    private List<VirtualRemarkVO> virtualRemarkList;
}
